import {
  cancelSignUpApi,
  citylistApi,
  generateApi,
  getDetailApi,
  getListApi,
  myListApi,
  myPublishDelApi,
  queryQrCodeApi,
  reviewArticleApi,
  signUpApi,
  verifyApi,
} from '../api/activityApi';

/**
 *
 * @param regionName  区域名称(从区域列表获取）
 * @param sortOrder  按照活动开始时间排序， DESC-降序,ASC-升序；默认返回降序
 * @param activityStatus 活动状态（1:报名中,2：进行中，3:已结束）
 * @returns 活动列表
 */
export const getListFun = async (data: any) => {
  return new Promise((reslve: any, reject: any) => {
    getListApi(data)
      .then((res: any) => {
        reslve(res.data);
      })
      .catch((e: any) => {
        reject(e);
      });
  });
};

/**
 *
 * @param data activityId 活动ID（必填）
 * @param data userId 用户账号，非手机号(必填)
 * @returns 活动详情
 */

export const getDetailFun = async (data: any) => {
  return new Promise((reslve: any, reject: any) => {
    getDetailApi(data)
      .then((res: any) => {
        console.log(res, 'res====返回数据');
        reslve(res.data);
      })
      .catch((e: any) => {
        reject(e);
      });
  });
};

/**
 * 活动报名
 * @param data activityId 活动ID（必填）
 * @param data userId 用户ID (必填)
 * @param data userPhone 用户手机号
 * @param data applicantName 报名人姓名（必填）
 * @param data applicantPhone 报名人手机号（必填）
 * @param data remark 备注（非必填）
 * @returns
 */
export const signUpFun = async (data: any = {}) => {
  return new Promise((reslve: any, reject: any) => {
    signUpApi(data)
      .then((res: any) => {
        reslve(res);
      })
      .catch((e: any) => {
        reject(e);
      });
  });
};

/**
 * 我的活动
 * @param data userId 用户ID（必填）
 * @param data activityStatus 活动状态（1:报名中,2：进行中，3:已结束）
 * @returns
 */
export const myListFun = async (data: any = {}) => {
  return new Promise((reslve: any, reject: any) => {
    myListApi(data)
      .then((res: any) => {
        reslve(res.data);
      })
      .catch((e: any) => {
        reject(e);
      });
  });
};

/**
 * 取消报名
 * @param data orderId 报名订单号 (必填)
 * @param data userId 用户ID (必填)
 * @returns
 */
export const cancelSignUpFun = async (data: any = {}) => {
  return new Promise((reslve: any, reject: any) => {
    cancelSignUpApi(data)
      .then((res: any) => {
        reslve(res);
      })
      .catch((e: any) => {
        reject(e);
      });
  });
};

/**
 * 查看二维码
 * @param data orderId 报名订单号 (必填)
 * @param data width 宽度(非必填)
 * @param data height 高度(非必填)
 * @returns
 */
export const queryQrCodeFun = async (data: any = {}) => {
  return new Promise((reslve: any, reject: any) => {
    queryQrCodeApi(data)
      .then((res: any) => {
        reslve(res.data);
      })
      .catch((e: any) => {
        reject(e);
      });
  });
};
/**
 * 扫码核销
 * @param data orderId 报名订单号 (必填)
 * @returns
 */
export const verifyFun = async (data: any = {}) => {
  return new Promise((reslve: any, reject: any) => {
    verifyApi(data)
      .then((res: any) => {
        console.log('核销结果成功', res);
        reslve(res);
      })
      .catch((e: any) => {
        console.log('核销结果失败', e);
        reject(e);
      });
  });
};
/**
 * 区域列表
 * @param data 传空
 * @returns
 */
export const cityListFun = async (data: any = {}) => {
  return new Promise((reslve: any, reject: any) => {
    citylistApi(data)
      .then((res: any) => {
        reslve(res.data);
      })
      .catch((e: any) => {
        reject(e);
      });
  });
};

/**
 * 查询活动回顾
 * @param data
 * @param data activityId 活动ID（必填）
 * @param data userId 用户ID（必填）
 * @returns
 */
export const reviewArticleFun = async (data: any = {}) => {
  return new Promise((reslve: any, reject: any) => {
    reviewArticleApi(data)
      .then((res: any) => {
        reslve(res);
      })
      .catch((e: any) => {
        reject(e);
      });
  });
};

/**
 * 我的发布-删除
 * @param data
 * @param data activityId 活动ID（必填）
 * @param data userId 用户ID（必填）
 * @returns
 */
export const myPublishDelFun = async (data: any = {}) => {
  return new Promise((reslve: any, reject: any) => {
    myPublishDelApi(data)
      .then((res: any) => {
        reslve(res);
      })
      .catch((e: any) => {
        reject(e);
      });
  });
};
